home *** CD-ROM | disk | FTP | other *** search
/ The Utilities Experience / The Utilities Experience - Volume 1.iso / software / graphics / n-z / xanim4 / xanim.txt < prev    next >
Text File  |  1995-12-21  |  31KB  |  688 lines

  1. NAME
  2.        xanim - multiformat animation viewer for X
  3.  
  4. SYNOPSIS
  5.        xanim  [  +Vnum  ]  [  +Aaopts ] [ +Ccopts ] [ +Ggopts ] [
  6.               +Mmopts ] [ +Ssopts ] [ +Zzopts ] [ +opts  ]  anim-
  7.               file [ [ +opts ] [ animfile ] ... ]
  8.  
  9. DESCRIPTION
  10.        XAnim  is a program that can display animations of various
  11.        formats on systems running X11.  XAnim currently  supports
  12.        the following animation types:
  13.  
  14.               +  FLI animations.
  15.               +  FLC animations.
  16.               +  IFF  animations. The following features are sup-
  17.                  ported:
  18.                    -> Compressions 3,5,7,J(movies) and l(small
  19.                     L).
  20.                    -> Color cycling during single images and
  21.                     anims.
  22.                    -> Display Modes: depth 1-8, EHB, HAM and
  23.                     HAM8.
  24.               +  GIF87a and GIF89a files.
  25.                    -> single and multiple images supported.
  26.                    -> GIF89a animation extensions supported.
  27.               +  GIF89a animation extension support.
  28.               +  a  kludgy  text file listing gifs and what order
  29.                  to show them in.
  30.               +  DL animations. Formats 1, 2 and 3. TEMP DISABLED
  31.               +  Amiga PFX(PageFlipper Plus F/X) animations. TEMP
  32.                  DISABLED
  33.               +  Amiga  MovieSetter  animations(For  those   Eric
  34.                  Schwartz fans).
  35.               +  Utah Raster Toolkit RLE images and anims.
  36.               +  AVI animations. Currently supported are
  37.                    -> IBM Ultimotion     (ULTI) depth 16.
  38.                    -> JPEG               (JPEG) depth 24.
  39.                    -> Motion JPEG        (MJPG) depth 24.
  40.                    -> Intergraph JPEG    (IJPG) depth 24.
  41.                    -> Microsoft Video 1  (CRAM) depth 8 and 16.
  42.                    -> SuperMac Cinepak   (CVID) depth 24.
  43.                    -> Uncompressed       (RGB) depth 8.
  44.                    -> Run length encoded (RLE8) depth 8.
  45.               +  Quicktime Animations. The following features are
  46.                  supported:
  47.                    -> (RAW) depth 4,8,16,24,24+ and GRAY 4,8.
  48.                    -> Apple Graphics   (RLE ) depth 1,8,16,24 and
  49.                     GRAY 8.
  50.                    -> Apple Animation  (SMC ) depth 8 and GRAY 8.
  51.                    -> Apple Video      (RPZA) depth 16.
  52.                    -> SuperMac Cinepak (CVID) depth 24 and GRAY
  53.                     8.
  54.  
  55. XAnim Beta Audio Rev 2.29.7.519Jan95                            1
  56.  
  57.                    -> ???      YUV2    (YUV2) depth 24.
  58.                    -> Photo JPEG       (JPEG) depth 8 and 24.
  59.                    -> Supports multiple video trak's.
  60.                    -> Supports animations with multiple codecs.
  61.                    -> Supports single-fork and separate .rsrc and
  62.                     .data forks.
  63.               +  JFIF images. NOTE: use  XV  for  single  images.
  64.                  This is more for animation of a sequence of JPEG
  65.                  images.
  66.               +  WAV audio files may have their  sound  added  to
  67.                  any  animation  type  that  doesn't already have
  68.                  audio, by specifying the  .wav  file  after  the
  69.                  animation  file  on  the command line. Currently
  70.                  only the PCM audio codec is supported.
  71.               +  any combination of the above on the same command
  72.                  line.
  73.  
  74.        XAnim also provides various options that allow the user to
  75.        alter colormaps, playback speeds, looping  modes  and  can
  76.        provide on-the-fly scaling of animations with the mouse.
  77.  
  78. OPTIONS
  79.        A  + will generally turn an option on and a - will turn an
  80.        option off.  This can be reversed at  compile  time.  (see
  81.        xanim_config.h).
  82.  
  83.        In  each  SubMenu, the options can be run together with no
  84.        intervening spaces. In the list of  SubMenu  options  pre-
  85.        sented  below,  the  first letter given is the letter that
  86.        specifies the SubMenu and should NOT be repeated  if  sev-
  87.        eral SubMenu options are to be run together.
  88.  
  89.        For  example,  "+Cn  +Cs10  +CF4"  can  also be written as
  90.        "+Cns10F4" or "+CF4s10n".
  91.  
  92.        A + or a - within a SubMenu will be an exit from that sub-
  93.        menu.   Options  will  affect all animations following the
  94.        invocation of that option. Some options may be changed  in
  95.        between  animations without affecting previous animations.
  96.  
  97.        In the following sections, an num  represents  an  integer
  98.        number  and an fnum represents a floating point number. If
  99.        a floating point number is of an  integer  amount,  the  .
  100.        need  not  be specified. There should be no spaces between
  101.        the option and the numbers.
  102.  
  103.        aopts SubMenu for Audio Options
  104.  
  105.               +Ae     Audio Enable. XAnim will ignore audio  data
  106.                       if this option is not used.
  107.  
  108.               +Ak     This  option  allows  XAnim  to  skip video
  109.                       frames in order to help keep video in  sync
  110.                       with audio.  default is on.
  111.  
  112. XAnim Beta Audio Rev 2.29.7.519Jan95                            2
  113.  
  114.               +Asfnum Scale  Audio playback speed by "fnum". Only
  115.                       the range 0.125 to 8.00 is allowed.
  116.  
  117.               +Apnum  This turns a hardware specific  Audio  port
  118.                       on  or  off. The default port is selectable
  119.                       in xanim_config.h. It's shipped with inter-
  120.                       nal speaker as default.
  121.  
  122.                        0 - internal speaker
  123.  
  124.                        1 - headphones or external speaker
  125.  
  126.                        2 - line out
  127.  
  128.               +Avnum  Sets  the inital Audio Volume(0-255) with 0
  129.                       the lowest. default is 100.
  130.  
  131.        copts SubMenu for Color Options
  132.  
  133.               +C1     Create a colormap from the first frame of a
  134.                       TrueColor anim and then remap the remaining
  135.                       frames to this colormap.  This  can  poten-
  136.                       tially  add significant time to the startup
  137.                       of an animation but usually results in bet-
  138.                       ter  colors.  The  animation  needs  to  be
  139.                       buffered for this option to work. Not valid
  140.                       for  TrueColor  or DirectColor displays(nor
  141.                       is it needed).
  142.  
  143.               +C3     Convert  TrueColor  anims  to   332(Static-
  144.                       Color). TrueColor anims are animations that
  145.                       provide separate RGB info for  each  pixel,
  146.                       rather  than each pixel being an index into
  147.                       a global colormap. AVI(16bit CRAM), QT(RPZA
  148.                       and RLE depth 16 and 24) and URT RLE 24 bit
  149.                       anims are examples of TrueColor anims. This
  150.                       option  is ignored for TrueColor or Direct-
  151.                       Color displays.
  152.  
  153.               +CA     Create a colormap  from  each  frame  of  a
  154.                       TrueColor  anim.  This can be useful if the
  155.                       colors radically change during  the  course
  156.                       of the animation. This can take a VERY,VERY
  157.                       long time at start up.  Animation  must  be
  158.                       buffered.  This option is ignored for True-
  159.                       Color or DirectColor displays.
  160.  
  161.               +Ca     Remap all images to single new cmap created
  162.                       from all of the colormaps.
  163.  
  164.               +Cd     Use Floyd-Steinberg dithering if needed for
  165.                       non-monochrome displays.  This will cause a
  166.                       reduction in playback speed.
  167.  
  168. XAnim Beta Audio Rev 2.29.7.519Jan95                            3
  169.  
  170.               +Cf     Forcibly remap to all frames to 1st frame's
  171.                       cmap.
  172.  
  173.               +CF0    Disables +CF4.
  174.  
  175.               +CF4    This option  samples  the  colors  of  true
  176.                       color  animations ahead of time and forms a
  177.                       color lookup table.  Beats the  just  trun-
  178.                       cating  to  a  RGB 332 color table and IMHO
  179.                       beats  dithering.   See   the   +s   option
  180.                       below(also  in  copts submenu).  NOTE: this
  181.                       is now on by default.
  182.  
  183.               +Cg     Convert TrueColor anims to gray scale. This
  184.                       option is ignored for TrueColor and Direct-
  185.                       Color displays.
  186.  
  187.               +Ch     Use histogram to aid  in  color  reduction.
  188.                       Histrogramming  is only done on frames that
  189.                       are buffered.
  190.  
  191.               +Cm     This option is currently needed if you want
  192.                       to  dither  TrueColor  anims  to a 332 col-
  193.                       ormap. Animation must  be  buffered.  Typi-
  194.                       cally +bC3dm is the option to use. This can
  195.                       take a VERY long time at start up.
  196.  
  197.               +Cn     Don't create new colormap but instead allo-
  198.                       cate  colors from the X11 Display's default
  199.                       cmap.
  200.  
  201.               +Csnum  This is  the  number  of  frames  the  +CF4
  202.                       option  looks at ahead of time. More frames
  203.                       potentially yields better  colors  results,
  204.                       but  takes  more time at start up.  default
  205.                       is 5.
  206.  
  207.        gopts SubMenu for Gamma Options
  208.  
  209.               +Gafnum Set gamma of animation to be displayed.
  210.  
  211.               +Gdfnum Set gamma of display.  1.0  is  no  change.
  212.                       gamma's greater than 1.0 typically brighten
  213.                       the animation.
  214.  
  215.        mopts SubMenu for Median-Cut Quantization Options
  216.  
  217.               +Ma     compute box color from average of box.
  218.  
  219.               +Mc     compute box color as center of box.
  220.  
  221.               +Mbnum  Truncate rgb to num bits before quantizing.
  222.  
  223.        sopts SubMenu for Scaling Options
  224.  
  225. XAnim Beta Audio Rev 2.29.7.519Jan95                            4
  226.  
  227.               +Si     Half  the  height  of IFF anims if they are
  228.                       interlaced.(Not completely  reliable  since
  229.                       not  all IFF anims correctly identify them-
  230.                       selves as interlaced).
  231.  
  232.               +Sn     Prevents X11 window from resizing to  match
  233.                       animations's size.
  234.  
  235.               +Sr     Allow  user to resize animation on the fly.
  236.                       Enlarging an animation can  greatly  reduce
  237.                       playback  speed  depending  on the power of
  238.                       the cpu.
  239.  
  240.               +Ssfnum Scale the size of animation by fnum  before
  241.                       displaying.
  242.  
  243.               +Shfnum Scale  the horizontal size of the animation
  244.                       by fnum before displaying.
  245.  
  246.               +Svfnum Scale the vertical size of the animation by
  247.                       fnum before displaying.
  248.  
  249.               +Sxnum  Scale  the  animation  to  have  width  num
  250.                       before displaying.
  251.  
  252.               +Synum  Scale the  animation  to  have  height  num
  253.                       before displaying.
  254.  
  255.               +Sc     Copy  display  scaling  factors  to display
  256.                       buffering factors.
  257.  
  258.               +SSfnum Scale the size of  the  animation  by  fnum
  259.                       before buffering it.
  260.  
  261.               +SHfnum Scale  the horizontal size of the animation
  262.                       by fnum before buffering it.
  263.  
  264.               +SVfnum Scale the vertical size of the animation by
  265.                       fnum before buffering it.
  266.  
  267.               +SXnum  Scale  the  animation  to  have  width  num
  268.                       before buffering it.
  269.  
  270.               +SYnum  Scale the  animation  to  have  height  num
  271.                       before buffering it.
  272.  
  273.               +SC     Copy  buffer  scaling  factors  to  display
  274.                       scaling factors.
  275.  
  276.        zopts SubMenu for Special Options
  277.  
  278.               +Ze     XAnim will exit after playing through  com-
  279.                       mand line once.
  280.  
  281. XAnim Beta Audio Rev 2.29.7.519Jan95                            5
  282.  
  283.               +Zpnum  XAnim  pause at frame num and then wait for
  284.                       user input. Several pauses  may  be  speci-
  285.                       fied. Each group of pauses will only affect
  286.                       the animation immediately following them on
  287.                       the  command  line.  Pauses  will  occur at
  288.                       least once.
  289.  
  290.               +Zr     This option enables the Remote Control Win-
  291.                       dow.  This  overrides the default condition
  292.                       set in xanim_config.h. Remote Control  sup-
  293.                       port  must  be compiled into XAnim for this
  294.                       to work.
  295.  
  296.        Normal Options
  297.  
  298.               +b      Uncompress and buffer  images  before  dis-
  299.                       playing.   This  only  applies  to  AVI,QT,
  300.                       IFF,FLI,FLC         animations.         The
  301.                       rest(GIF87a,GIF89a,DL,PFX and RLE) are cur-
  302.                       rently always  uncompressed  and  buffered.
  303.                       This is cleared by the +f option.
  304.  
  305.               +B      Used  X11  Shared  Memory(if  present)  for
  306.                       unbuffered animations only.(This  is  mutu-
  307.                       ally exclusive with +b above).
  308.  
  309.               +f      Don't  load anim into memory, but read each
  310.                       section only when needed. This is supported
  311.                       only for AVI,QT,IFF,FLI and FLC animations.
  312.                       This option is cleared by  the  +b  option.
  313.                       This saves memory at the cost of speed.
  314.  
  315.               +c      let  xanim know that iff anim is a nonloop-
  316.                       ing one.
  317.  
  318.               +dnum   debug switch.  num can be  from  0(off)  to
  319.                       5(most) for level of detail.
  320.  
  321.               +F      Floyd-Steinberg dithering when needed.
  322.  
  323.               +jnum   num  is  the number of milliseconds between
  324.                       frames. if 0 then the time specified in the
  325.                       animation is used for timing purposes.
  326.  
  327.               +lnum   loop  animation  num number of times before
  328.                       moving on to next animation.
  329.  
  330.               +lpnum  ping-pong animation  num  number  of  times
  331.                       before moving on to next animation.
  332.  
  333.               +N      don't display images. Useful for benchmark-
  334.                       ing.
  335.  
  336.               +o      turns   on   certain   optimizations.   See
  337.  
  338. XAnim Beta Audio Rev 2.29.7.519Jan95                            6
  339.  
  340.                       xanim.readme.
  341.  
  342.               +p      Use  Pixmap  instead  of Image in X11. This
  343.                       option has no effect if  the  animation  is
  344.                       buffered(either  by  default or with the +b
  345.                       option).
  346.  
  347.               +r      Allow color cycling for IFF single  images.
  348.  
  349.               +R      Allow color cycling for IFF anims. (default
  350.                       should be off)
  351.  
  352.               +T0     Title option 0. Title is just XAnim.
  353.  
  354.               +T1     Title option 1. Title is current anim name.
  355.                       When  anim  is  stopped,  the current frame
  356.                       number is included.
  357.  
  358.               +T2     Title option 2. Title is current anim  name
  359.                       and current frame number.
  360.  
  361.               +v      Verbose  mode. Gives some information about
  362.                       animation such as size, number  of  frames,
  363.                       etc.
  364.  
  365.               +Vnum   Select  X11  Visual  to use when displaying
  366.                       animation. The num is obtained by using the
  367.                       +X option of xanim.
  368.  
  369.               +Vclass Select  the  best X11 Visual of Class class
  370.                       when displaying the animation.   class  can
  371.                       be  anyone  of the following strings and is
  372.                       case insensitive. (ie StaTicGraY is same as
  373.                       staticgray).
  374.  
  375.                       staticgray    Select     best    StaticGray
  376.                                     Visual.
  377.  
  378.                       grayscale     Select best GrayScale Visual.
  379.  
  380.                       staticcolor   Select    best    StaticColor
  381.                                     Visual.
  382.  
  383.                       pseudocolor   Select    best    PseudoColor
  384.                                     Visual.
  385.  
  386.                       truecolor     Select best TrueColor Visual.
  387.  
  388.                       directcolor   Select    best    DirectColor
  389.                                     Visual.
  390.  
  391.               +X      X11 verbose mode. Display information about
  392.                       the support X11 visuals.
  393.  
  394. XAnim Beta Audio Rev 2.29.7.519Jan95                            7
  395.  
  396. WINDOW COMMANDS
  397.        Once the animation is up and  running  there  are  various
  398.        commands  that  can  be entered into that animation window
  399.        from the keyboard.
  400.  
  401.        q         quit.
  402.  
  403.        Q         Quit.
  404.  
  405.        g         Stop color cycling.
  406.  
  407.        r         Restore original Colors(useful after g).
  408.  
  409.        w         Restore original window size(useful after resiz-
  410.                  ing).
  411.  
  412.        z         This  pops up or removes the Remote Control Win-
  413.                  dow. Remote Control  support  must  be  compiled
  414.                  into XAnim for this to work.
  415.  
  416.        <space>   Toggle. starts/stops animation.
  417.  
  418.        ,         Single step back one frame.
  419.  
  420.        .         Single step forward one frame.
  421.  
  422.        <         Go back to start of previous anim.
  423.  
  424.        >         Go forward to start of next anim.
  425.  
  426.        m         Single  step back one frame staying within anim.
  427.  
  428.        /         Single step forward  one  frame  staying  within
  429.                  anim.
  430.  
  431.        -         Increase animation playback speed.
  432.  
  433.        =         Decrease animation playback speed.
  434.  
  435.        0         Reset  animation playback speed to original val-
  436.                  ues.
  437.  
  438.        AUDIO RELATED WINDOW COMMANDS
  439.  
  440.        1         Decrement volume by 10.
  441.  
  442.        2         Decrement volume by 1.
  443.  
  444.        3         Increment volume by 1.
  445.  
  446.        4         Increment volume by 10.
  447.  
  448.        s         Toggle. Audio Volume(MUTE). on/off.
  449.  
  450. XAnim Beta Audio Rev 2.29.7.519Jan95                            8
  451.  
  452.        8         Toggle. Main Speaker. on/off.
  453.  
  454.        9         Toggle. Headphones. on/off.
  455.  
  456. MOUSE BUTTONS
  457.        Once the animation is up and  running  the  mouse  buttons
  458.        have the following functions.
  459.  
  460.        <Left_Button>
  461.                  Single step back one frame.
  462.  
  463.        <Middle_Button>
  464.                  Toggle. starts/stops animation.
  465.  
  466.        <Right_Button>
  467.                  Single step forward one frame.
  468.  
  469. BUFFERING, PIXMAPS and READ_FROM_FILE Options
  470.        XAnim  by default will read the entire animation into mem-
  471.        ory. DL, PFX, Moviesetter, GIF or URT RLE type  animations
  472.        are always uncompressed and stored in memory as individual
  473.        images.
  474.  
  475.        For the AVI, QT, IFF, FLI/FLC animations,  only  the  com-
  476.        pressed  delta  is  stored.  These  deltas are then uncom-
  477.        pressed each time they need to be  displayed.  The  buffer
  478.        option(+b) may be used to potentially speed up playback by
  479.        uncompressing and storing these images ahead of time.  But
  480.        more memory is used up in the process.
  481.  
  482.        When  an  XPutImage  is  called,  the image typically gets
  483.        copied twice, once to memory and then from there onto  the
  484.        display.  A  pixmap  is  directly  copied onto the display
  485.        without the first copy. This is why it is  sometimes  much
  486.        faster  to  use  the  pixmap option(+p).  Each image isn't
  487.        converted into a pixmap until the first time  it  is  dis-
  488.        played.  This  is why the first loop of an animation using
  489.        this option is sometimes  slower  than  subsequent  loops.
  490.        While  the  pixmap  option  may improve playback speed, it
  491.        will slow things down if on-the-fly scaling  needs  to  be
  492.        performed.  This  is  because  XAnim  no longer has direct
  493.        access to the image and needs to get a copy of  it  before
  494.        it can be scaled.
  495.  
  496.        The  read  from  file option(+f) causes XAnim not to store
  497.        the compressed deltas in memory. Instead as each image  is
  498.        to  be displayed, XAnim reads the corresponding compressed
  499.        delta from the file, expands  it  and  then  displays  it.
  500.        While  this can dramatically cut down on memory usage, the
  501.        necessary reads  from  disk(or  whatever)  can  slow  down
  502.  
  503. XAnim Beta Audio Rev 2.29.7.519Jan95                            9
  504.  
  505.        playback  speed.   XAnim  still  needs  to allocate one to
  506.        three image buffers depending on the type of animation and
  507.        the  scaling  options  used. This option is only supported
  508.        for AVI, QT, FLI/FLC and IFF animations. The BODY chunk of
  509.        IFF  animations  is  not included in this. As a result, an
  510.        IFF animation that is made up of several BODY chunks  will
  511.        not currently benefit from this option.
  512.  
  513. SCALING Options
  514.        There  are  two sets of scaling options. One set, the dis-
  515.        play scaling factors,  affects the size of  the  animation
  516.        as it is displayed. The other set, the buffer scaling fac-
  517.        tors, affect the size of the images as they are stored  in
  518.        memory(buffered).  The  buffer scaling factors only affect
  519.        animations that are buffered and can greatly  increase  or
  520.        decrease memory usage.
  521.  
  522.        These  two  sets are completely independent of each other.
  523.        You can set the buffer scaling factors  to  20  times  the
  524.        normal  animation  size  and  not affect the size at which
  525.        that animation is displayed. The images are stored  at  20
  526.        times  the normal size(and at 400 times the memory usage),
  527.        but then get scaled back down to normal size before  being
  528.        displayed.  NOTE:  that  an  animation must be buffered in
  529.        order for the buffer scaling factors to have any affect on
  530.        it. The display scaling factors affect all animations.
  531.  
  532.        You  can  create pixellation like affects by buffering the
  533.        animation at 1/8 it's normal size, but keeping the display
  534.        scaling factors at the original size. (IE "xanim +bSS0.125
  535.        anim.anim").
  536.  
  537.        Many times it's faster to store and display  an  animation
  538.        with  large dimensions at half-size. The option "+bSS0.5C"
  539.        or "+bSS0.5s0.5" both will accomplish this. To  save  mem-
  540.        ory,  you  could even store the animation at half size and
  541.        yet display it at full  size.  "+bSS0.5"  will  accomplish
  542.        this.
  543.  
  544. FORWARDS, BACKWARDS and OPTIMIZATION.
  545.        Many  type of animations(FLI/FLC/IFF/some AVI and QTs) are
  546.        compressed with forward playback in mind only. Each  delta
  547.        only  stores  the difference between the current frame and
  548.        the previous frame. As a results, most of these animations
  549.        don't  display correctly when played backwards.  Even when
  550.        buffered up, these may not work, since XAnim  only  stores
  551.        the  smallest  rectangle that encompasses the changes from
  552.        the previous frame. You  can  force  XAnim  to  store  the
  553.        entire  frame  by  specifying the "-o" option to turn this
  554.        optimization off. This will most likely  use  more  memory
  555.        and slow down the animation, since more of the image needs
  556.        to be stored and/or displayed.
  557.  
  558. XAnim Beta Audio Rev 2.29.7.519Jan95                           10
  559.  
  560. COLOR OPTIONS
  561.        Most of this will be a TBD for a  future  rev  and  what's
  562.        here might be sketchy, incomplete or just plain confusing.
  563.  
  564.        TrueColor and DirectColor displays  don't  need  to  worry
  565.        about most of these options, as the animations can be dis-
  566.        played in their original  colors(ignoring  monitor  varia-
  567.        tions  etc).  However,  TrueColor and DirectColor displays
  568.        can't display animations that employ color  cycling  tech-
  569.        niques  where  the  colormap  changes from frame to frame.
  570.        DirectColor could potentially support this, but not  True-
  571.        Color.
  572.  
  573.        For the rest of the displays, the problem becomes matching
  574.        the colors in the animations to the  available  colors  of
  575.        the Display.  For most PseudoColor displays this means 256
  576.        colors. Many of which are already in use by various  other
  577.        programs. XAnim defaults to creating it's own colormap and
  578.        using all the colors from that. The  window  manager  then
  579.        installs  this new colormap, whenever the mouse pointer is
  580.        inside the XAnim  animation  window(Sometimes  a  specific
  581.        action  is  required  to  change  the ColorMap Focus, like
  582.        clicking in the window or pressing a specific key). In any
  583.        case,  this  action usually causes all the other colors on
  584.        the screen to be temporarily "messed-up" until  the  mouse
  585.        is  moved out of the animation window. The alternative, is
  586.        to use the "+Cn" option. Now XAnim  tries  allocating  all
  587.        the colors it needs from the current colormap. If it can't
  588.        get a certain color, then XAnim choose one that is "close"
  589.        to  this certain color. Close is completely arbitrary. The
  590.        animation is now displayed in colors  that  are  different
  591.        than  the  original colors. This difference may or may not
  592.        be noticeable.
  593.  
  594.        Another big problem is when  the  animations  are  what  I
  595.        called TrueColor animations. Where each pixel is stored as
  596.        RGB triplets. For example, AVI  16  bit  CRAM  animations.
  597.        Each  pixel  has 5 bits of Red, 5 bits of Green and 5 bits
  598.        of Blue info associated with it. This means there  can  be
  599.        up to 32768 unique colors in each image. And on most Pseu-
  600.        doColor displays we can only display  256  unique  colors.
  601.        Beside  getting  better  displays,  what  can we do? XAnim
  602.        defaults to truncating the RGB  information  from  555  to
  603.        332.  That is to 3 bits of Red, 3 bits of Green and 2 bits
  604.        of Blue. Less on Blue because the human eye is more sensi-
  605.        tive  to  Red and Green than Blue.  This 332 colormap hap-
  606.        pens to be 256 colors in size, which nicely fits  in  with
  607.        our display. If our display only had 64 colors, then XAnim
  608.        is smart enough to truncate things down to  222.  Now  the
  609.        problem is the colors of the displayed anim are noticeably
  610.        different than the original colors.  Typically you can see
  611.        color  banding  etc.  While this is fine to get a feel for
  612.        the animation, we can do  better.  One  of  the  solutions
  613.        XAnim  currently  offers  is  the "+bC1" option. What this
  614.  
  615. XAnim Beta Audio Rev 2.29.7.519Jan95                           11
  616.  
  617.        does is choose the the best  256  colors  from  the  first
  618.        image of the animation. Then each pixel of each subsequent
  619.        image is remapped to one of these 256 colors.  This  takes
  620.        up some CPU time up front and more memory since each image
  621.        needs to be buffered, but results in  a  colors  that  are
  622.        closer  to the originals.  Another option, "+bCA", chooses
  623.        the best 256 from each image, then  256  colors  from  all
  624.        these colormaps are chosen as the final colormap.  This is
  625.        useful if the colors in the first image aren't representa-
  626.        tive  of the rest of the animation. This can be very slow.
  627.        Another option that is supported, but not really optimized
  628.        for  yet  is "+bC3dm". This causes XAnim to use a 332 col-
  629.        ormap and then apply a Floyd-Steinberg dither algorithm to
  630.        each  image.   Currently  this  is  very  slow.  Different
  631.        dithers(like Ordered) and better optimizations might speed
  632.        this  up in future revs. In general, handling of TrueColor
  633.        animations in XAnim needs to be improved.
  634.  
  635.        Another scenario where colors need to be remapped, is when
  636.        several images or animations with different colormaps need
  637.        to be displayed.  Changing the colormap usually results in
  638.        an  annoying flicker. One solution to this is to remap all
  639.        of the images/animations to the same colormap.  The  "+Ca"
  640.        option  chooses the best colors from all the colormaps and
  641.        then remaps all the images to it. The "+Cf" option, simply
  642.        remaps everything to the first colormap.  The "+Ch" option
  643.        is useful when an animation's colormap specifies a lot  of
  644.        colors that aren't used. XAnim looks through each buffered
  645.        image of the animation and makes a histogram of the useage
  646.        of  each  color.  This information is then used to weedout
  647.        unused or rarely used colors.
  648.  
  649. QUICKTIME ANIMATIONS
  650.        Quicktime animations are usually stored  in  two  separate
  651.        files.  One  is  call a data fork and ends with a ".data".
  652.        The other is a resource fork and ends in a ".rsrc".  Some-
  653.        times  these animations are in a "flattened" format, where
  654.        everything is put into one file. There's no standard  nam-
  655.        ing format for these types of files.
  656.  
  657.        For  example, if you have a quicktime animation made up of
  658.        two files named: "spin.rsrc"  and  "spin.data",   you  can
  659.        display them using Xanim with either of the following com-
  660.        mands "xanim spin" or "xanim spin.rsrc".  XAnim  is  smart
  661.        enough  to  add/modfiy  the ".rsrc" and ".data" endings as
  662.        needed.
  663.  
  664.        If you use AUFS from the Columbia Appletalk Package,  then
  665.        Macintosh  files  have  their  data  fork  stored  in  the
  666.        expected place, and the resource fork is in  a  file  with
  667.        the  same  name in a .resource subdirectory. Therefore, if
  668.        the data fork is in "spin", and the resource  fork  is  in
  669.        ".resource/spin",  the  movie can be displayed with "xanim
  670.  
  671. XAnim Beta Audio Rev 2.29.7.519Jan95                           12
  672.  
  673.        spin".
  674.  
  675.        For "flattened" quicktime animations, you need to  specify
  676.        the entire file name.
  677.  
  678.        NOTE: XAnim may not support all SMC or RPZA quicktime ani-
  679.        mations. It'll print "unknown code variation  XX"  to  the
  680.        screen  as  it  encounters  these  and move on to the next
  681.        image of that animation.
  682.  
  683. AUTHOR
  684.        Mark Podlipec - podlipec@wellfleet.com
  685.  
  686. XAnim Beta Audio Rev 2.29.7.519Jan95                           13
  687.  
  688.